home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)U / (A)U4.ADF / Ghostscript / gfonts.ps < prev    next >
Text File  |  1989-05-20  |  3KB  |  106 lines

  1. %    Copyright (C) 1989 Aladdin Enterprises.  All rights reserved.
  2. %    Distributed by Free Software Foundation, Inc.
  3. %
  4. % This file is part of Ghostscript.
  5. %
  6. % Ghostscript is distributed in the hope that it will be useful, but
  7. % WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  8. % to anyone for the consequences of using it or for whether it serves any
  9. % particular purpose or works at all, unless he says so in writing.  Refer
  10. % to the Ghostscript General Public License for full details.
  11. %
  12. % Everyone is granted permission to copy, modify and redistribute
  13. % Ghostscript, but only under the conditions described in the Ghostscript
  14. % General Public License.  A copy of this license is supposed to have been
  15. % given to you along with Ghostscript so you can know your rights and
  16. % responsibilities.  It should be in a file named COPYING.  Among other
  17. % things, the copyright notice and this notice must be preserved on all
  18. % copies.
  19.  
  20. % Font initialization for GhostScript
  21. % This file is highly configuration-dependent.
  22.  
  23. 9 dict dup begin
  24.  
  25.  /FontType 7 def    % GhostScript font
  26.  /FontMatrix [1 8 div 0 0 1 14 div 0 0] def
  27.  /FontBBox [0 0 1 1] def
  28.  
  29.  /Encoding StandardEncoding readonly def
  30.  
  31.  /BuildChar
  32.   { exch begin        % fontdict
  33.      8 0 0 -3 8 11 setcachedevice
  34.      Encoding exch get
  35.      CharData exch get
  36.      currentpoint translate 0 -3 translate
  37.      newpath   FontType addcharpath   fill
  38.     end
  39.   } bind def
  40.  
  41. % Read the data for the standard font.
  42. % The first two tokens are the width and height.
  43. % This is followed by pairs of <character code>, <bits or vectors>.
  44. % The vector format is compatible with the addcharpath operator.
  45.  
  46.  /CharData 128 dict def
  47.  3 dict begin
  48.   (uglyfont.cp) (r) file /f exch def
  49.   f token pop /w exch def
  50.   f token pop /h exch def
  51.    { f token not {exit} if
  52.      StandardEncoding exch get CharData exch
  53.      f token pop put
  54.    } loop
  55.   % Make undefined characters display as blank
  56.   CharData /.notdef CharData StandardEncoding 32 get get put
  57.  end
  58.  
  59.  /UniqueID 5 def
  60.  
  61. end
  62.  
  63. /TheFont exch definefont pop
  64.  
  65. % Redefine findfont so it always finds the standard font
  66.  
  67. /.findfont /findfont load def
  68. /findfont {pop /TheFont .findfont} def
  69.  
  70. % Define the PostScript standard fonts as copies of the bit font.
  71. % This is a no-op for now, since we have redefined findfont.
  72.  
  73. %%% {/Helvetica /Helvetica-Bold /Times-Roman /Times-Bold /Courier /Symbol}
  74. %%%  { 9 dict
  75. %%%    /TheFont findfont
  76. %%%     { exch dup /FID ne
  77. %%%        { exch 2 index 4 1 roll put }
  78. %%%        { pop pop }
  79. %%%        ifelse
  80. %%%     } forall
  81. %%%    definefont pop
  82. %%%  } forall
  83.  
  84. % Initialize with a default font
  85. /Courier findfont 10 scalefont setfont
  86.  
  87. % Simulate charpath
  88. /charpath
  89.  { pop
  90.    matrix currentmatrix exch        % gsave won't work
  91.    currentfont begin
  92.     FontMatrix concat
  93.     currentpoint translate 0 -3 translate
  94.     { Encoding exch get
  95.       CharData exch get
  96.       FontType addcharpath
  97.       8 0 translate
  98.     } forall
  99.    end
  100.    setmatrix
  101.  } bind def
  102.  
  103. %%%%%%
  104. DEBUG {vmstatus pop = pop flush} if
  105. %%%%%%
  106.